<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/macos/Sources/Features/App Intents, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/'/>
<entry>
<title>macOS: Focus Terminal App Intent (#8961)</title>
<updated>2025-09-30T13:55:49+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-09-30T13:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=0cc3728803bd0b4e6726c0d88d8b87f562aa69f9'/>
<id>0cc3728803bd0b4e6726c0d88d8b87f562aa69f9</id>
<content type='text'>
Closes #8791 
Discussion: #8657 

### Summary
This adds the FocusTerminalIntent App Intent and related function
(focusSurface), allows external tools (such as Shortcuts/Siri) to
programmatically move focus to a specific terminal window or tab.

### Verification
This functionality has been tested across following scenarios,
confirming correct focus behavior for:

- Split Window
- Tab Group
- Quick Terminal

### Note
It is not supported to move focus to a split that is hidden by a zoomed
split. The same applies to the CloseTerminalIntent.

### AI Disclosure
This pull request was made with assistance from Claude Code.
I reviewed all AI-generated code and wrote the final output manually.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #8791 
Discussion: #8657 

### Summary
This adds the FocusTerminalIntent App Intent and related function
(focusSurface), allows external tools (such as Shortcuts/Siri) to
programmatically move focus to a specific terminal window or tab.

### Verification
This functionality has been tested across following scenarios,
confirming correct focus behavior for:

- Split Window
- Tab Group
- Quick Terminal

### Note
It is not supported to move focus to a split that is hidden by a zoomed
split. The same applies to the CloseTerminalIntent.

### AI Disclosure
This pull request was made with assistance from Claude Code.
I reviewed all AI-generated code and wrote the final output manually.</pre>
</div>
</content>
</entry>
<entry>
<title>feat: focus terminal in basic cases</title>
<updated>2025-09-28T10:20:00+00:00</updated>
<author>
<name>himura467</name>
<email>mitarashidango0927@gmail.com</email>
</author>
<published>2025-09-28T10:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=9d33545a55e4a2ed3346408ef3acf50e80964e29'/>
<id>9d33545a55e4a2ed3346408ef3acf50e80964e29</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Force Ghostty to be active if not</title>
<updated>2025-09-22T13:27:27+00:00</updated>
<author>
<name>Lars</name>
<email>134181853+bo2themax@users.noreply.github.com</email>
</author>
<published>2025-09-22T13:27:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=8beeebc21de998baa858d353f8261d6d2044f323'/>
<id>8beeebc21de998baa858d353f8261d6d2044f323</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Workaround for #8669</title>
<updated>2025-09-22T12:52:10+00:00</updated>
<author>
<name>Lars</name>
<email>134181853+bo2themax@users.noreply.github.com</email>
</author>
<published>2025-09-22T12:52:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=86009545260c2d3609d52a40e7ed44e716ba11a1'/>
<id>86009545260c2d3609d52a40e7ed44e716ba11a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pass config to splits in NewTerminalConfig</title>
<updated>2025-09-15T19:16:18+00:00</updated>
<author>
<name>Caleb Hearth</name>
<email>caleb@calebhearth.com</email>
</author>
<published>2025-09-15T19:16:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=ac9f3b88aaea5afa398076e72282ad45aa9df456'/>
<id>ac9f3b88aaea5afa398076e72282ad45aa9df456</id>
<content type='text'>
Config contains the command, working directory, and environment
variables intended to be passed to the new split, but it looks like we
forgot to include it as an argument in this branch.

Discussion: https://github.com/ghostty-org/ghostty/discussions/8637
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Config contains the command, working directory, and environment
variables intended to be passed to the new split, but it looks like we
forgot to include it as an argument in this branch.

Discussion: https://github.com/ghostty-org/ghostty/discussions/8637
</pre>
</div>
</content>
</entry>
<entry>
<title>macOS: SurfaceView should implement Identifiable</title>
<updated>2025-09-03T16:17:37+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-09-03T14:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=fe3dab9467b1b6f5de70afea1e22c374463bb477'/>
<id>fe3dab9467b1b6f5de70afea1e22c374463bb477</id>
<content type='text'>
This has no meaningful functionality yet, it was one of the paths I was
looking at for #8505 but didn't pursue further. But I still think that
this makes more sense in general for the macOS app and will likely be
more useful later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has no meaningful functionality yet, it was one of the paths I was
looking at for #8505 but didn't pursue further. But I still think that
this makes more sense in general for the macOS app and will likely be
more useful later.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: capture screenshot for app intents views as NSImage</title>
<updated>2025-08-08T14:53:26+00:00</updated>
<author>
<name>Alexander Lais</name>
<email>alexander.lais@me.com</email>
</author>
<published>2025-08-08T14:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=1f378e6775f15db7b00442559324839c43ebdc29'/>
<id>1f378e6775f15db7b00442559324839c43ebdc29</id>
<content type='text'>
SwiftUI's ImageRenderer must not be called outside the main thread.

The `@MainActor` annotation is only relevant for our own code, not
for calls from frameworks. The machinations around Shortcuts end up
calling the displayRepresentation method outside the main thread.

By capturing the screenshot as NSImage, all data is retained and can
be processed outside the main thread.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SwiftUI's ImageRenderer must not be called outside the main thread.

The `@MainActor` annotation is only relevant for our own code, not
for calls from frameworks. The machinations around Shortcuts end up
calling the displayRepresentation method outside the main thread.

By capturing the screenshot as NSImage, all data is retained and can
be processed outside the main thread.
</pre>
</div>
</content>
</entry>
<entry>
<title>macOS: remove @DeferredProperty usage from TerminalEntity</title>
<updated>2025-07-04T14:30:26+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-07-04T14:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=d8838cff0b1b1d9170568fa3fc99c69cc1f050a3'/>
<id>d8838cff0b1b1d9170568fa3fc99c69cc1f050a3</id>
<content type='text'>
This fixes an Apple Shortcuts crash for macOS 15 and earlier.
Unfortunately it looks like we can't guard these with `@available`. I'm
going to report an Apple Feedback about this but for now this gets
shortcuts working on macOS 15 and earlier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes an Apple Shortcuts crash for macOS 15 and earlier.
Unfortunately it looks like we can't guard these with `@available`. I'm
going to report an Apple Feedback about this but for now this gets
shortcuts working on macOS 15 and earlier.
</pre>
</div>
</content>
</entry>
<entry>
<title>macOS: Run scripts using stdin rather than executing directly</title>
<updated>2025-06-23T01:06:32+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-23T00:48:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=471098df3042c2ab70977662952033a186cb9377'/>
<id>471098df3042c2ab70977662952033a186cb9377</id>
<content type='text'>
Fixes #7647

See #7647 for context. This commit works by extending the `input` work
introduced in #7652 to libghostty so that the macOS can take advantage
of it. At that point, its just the macOS utilizing `input` in order to
set the command and `exit` up similar to Terminal and iTerm2.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #7647

See #7647 for context. This commit works by extending the `input` work
introduced in #7652 to libghostty so that the macOS can take advantage
of it. At that point, its just the macOS utilizing `input` in order to
set the command and `exit` up similar to Terminal and iTerm2.
</pre>
</div>
</content>
</entry>
<entry>
<title>macos: the approval dialog is now forever</title>
<updated>2025-06-21T13:53:09+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-21T13:46:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=296f340ff425c9986fedc2dbb4b5faa496dc63e3'/>
<id>296f340ff425c9986fedc2dbb4b5faa496dc63e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
